const express = require('express')
const router = require('./router')
const morgan = require('morgan')
const cors = require('cors')
const app = express()

app.use(morgan('dev'))

// 配置解析请求体数据 application/json
// 它会把解析到的请求体数据放到 req.body 中
// 注意：一定要在使用之前就挂载这个中间件
app.use(express.json())

app.use(cors())

// 挂载路由 以api开头
app.use('/api', router)

// 它之前的所有路由中调用 next(err) 就会进入这里
// 注意：4个参数，缺一不可
app.use((err, req, res, next) => {
  res.status(500).json({
    error: err.message
  })
})

app.listen(3000, () => {
  console.log(`Server is running at http://localhost:3000`)
})
